home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / CIncludes / GXLayout.h < prev    next >
C/C++ Source or Header  |  1996-05-01  |  11KB  |  219 lines

  1. /*
  2.      File:        GXLayout.h
  3.  
  4.      Contains:    QuickDraw GX layout routine interfaces.
  5.  
  6.      Version:    Technology:    Quickdraw GX 1.1
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __GXLAYOUT__
  19. #define __GXLAYOUT__
  20.  
  21. #ifndef __CONDITIONALMACROS__
  22. #include <ConditionalMacros.h>
  23. #endif
  24. #ifndef __GXTYPES__
  25. #include <GXTypes.h>
  26. #endif
  27.  
  28. #ifdef __cplusplus
  29. extern "C" {
  30. #endif
  31.  
  32. #if PRAGMA_IMPORT_SUPPORTED
  33. #pragma import on
  34. #endif
  35.  
  36. #if PRAGMA_ALIGN_SUPPORTED
  37. #pragma options align=mac68k
  38. #endif
  39.  
  40. #if defined(__MWERKS__) && GENERATING68K
  41.     #pragma push
  42.     #pragma pointers_in_D0
  43. #endif
  44.  
  45. #if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
  46. extern gxShape GXNewLayout(long textRunCount, const short textRunLengths[], const void *text[], long styleRunCount, const short styleRunLengths[], const gxStyle styles[], long levelRunCount, const short levelRunLengths[], const short levels[], const gxLayoutOptions *layoutOptions, const gxPoint *position)
  47.  THREEWORDINLINE(0x303C, 0x0000, 0xA832);
  48.  
  49. extern long GXGetLayout(gxShape layout, void *text, long *styleRunCount, short styleRunLengths[], gxStyle styles[], long *levelRunCount, short levelRunLengths[], short levels[], gxLayoutOptions *layoutOptions, gxPoint *position)
  50.  THREEWORDINLINE(0x303C, 0x0001, 0xA832);
  51.  
  52. extern void GXSetLayout(gxShape layout, long textRunCount, const short textRunLengths[], const void *text[], long styleRunCount, const short styleRunLengths[], const gxStyle styles[], long levelRunCount, const short levelRunLengths[], const short levels[], const gxLayoutOptions *layoutOptions, const gxPoint *position)
  53.  THREEWORDINLINE(0x303C, 0x0002, 0xA832);
  54.  
  55. extern void GXDrawLayout(long textRunCount, const short textRunLengths[], const void *text[], long styleRunCount, const short styleRunLengths[], const gxStyle styles[], long levelRunCount, const short levelRunLengths[], const short levels[], const gxLayoutOptions *layoutOptions, const gxPoint *position)
  56.  THREEWORDINLINE(0x303C, 0x0003, 0xA832);
  57.  
  58. extern void GXSetLayoutParts(gxShape layout, gxByteOffset oldStartOffset, gxByteOffset oldEndOffset, long newTextRunCount, const short newTextRunLengths[], const void *newText[], long newStyleRunCount, const short newStyleRunLengths[], const gxStyle newStyles[], long newLevelRunCount, const short newLevelRunLengths[], const short newLevels[])
  59.  THREEWORDINLINE(0x303C, 0x0004, 0xA832);
  60.  
  61. extern void GXSetLayoutShapeParts(gxShape layout, gxByteOffset startOffset, gxByteOffset endOffset, gxShape insert)
  62.  THREEWORDINLINE(0x303C, 0x0005, 0xA832);
  63.  
  64. extern long GXGetLayoutParts(gxShape layout, gxByteOffset startOffset, gxByteOffset endOffset, void *text, long *styleRunCount, short styleRunLengths[], gxStyle styles[], long *levelRunCount, short levelRunLengths[], short levels[])
  65.  THREEWORDINLINE(0x303C, 0x0006, 0xA832);
  66.  
  67. extern gxShape GXGetLayoutShapeParts(gxShape layout, gxByteOffset startOffset, gxByteOffset endOffset, gxShape dest)
  68.  THREEWORDINLINE(0x303C, 0x0007, 0xA832);
  69.  
  70. extern long GXGetLayoutGlyphs(gxShape layout, gxGlyphcode *glyphs, gxPoint positions[], long advance[], gxPoint tangents[], long *runCount, short styleRuns[], gxStyle glyphStyles[])
  71.  THREEWORDINLINE(0x303C, 0x0008, 0xA832);
  72.  
  73. extern gxByteOffset GXHitTestLayout(gxShape layout, const gxPoint *hitDown, gxHighlightType highlightType, gxLayoutHitInfo *hitInfo, gxShape hitTrackingArea)
  74.  THREEWORDINLINE(0x303C, 0x0009, 0xA832);
  75.  
  76. extern gxShape GXGetLayoutHighlight(gxShape layout, gxByteOffset startOffset, gxByteOffset endOffset, gxHighlightType highlightType, gxShape highlight)
  77.  THREEWORDINLINE(0x303C, 0x000A, 0xA832);
  78.  
  79. extern gxShape GXGetLayoutVisualHighlight(gxShape layout, gxByteOffset startOffset, long startLeadingEdge, gxByteOffset endOffset, long endLeadingEdge, gxHighlightType highlightType, gxShape highlight)
  80.  THREEWORDINLINE(0x303C, 0x000B, 0xA832);
  81.  
  82. extern gxShape GXGetLayoutCaret(gxShape layout, gxByteOffset offset, gxHighlightType highlightType, gxCaretType caretType, gxShape caret)
  83.  THREEWORDINLINE(0x303C, 0x000C, 0xA832);
  84.  
  85. extern gxByteOffset GXGetLayoutBreakOffset(gxShape layout, gxByteOffset startOffset, Fixed lineWidth, long hyphenationCount, const gxByteOffset hyphenationPoints[], Boolean *startIsStaked, gxByteOffset *priorStake, gxByteOffset *nextStake)
  86.  THREEWORDINLINE(0x303C, 0x000D, 0xA832);
  87.  
  88. extern Fixed GXGetLayoutRangeWidth(gxShape layout, gxByteOffset startOffset, gxByteOffset endOffset, gxShape supplementaryText)
  89.  THREEWORDINLINE(0x303C, 0x000E, 0xA832);
  90.  
  91. extern gxShape GXNewLayoutFromRange(gxShape layout, gxByteOffset startOffset, gxByteOffset endOffset, const gxLayoutOptions *layoutOptions, gxShape supplementaryText)
  92.  THREEWORDINLINE(0x303C, 0x000F, 0xA832);
  93.  
  94. extern gxShape GXGetCaretAngleArea(gxShape layout, const gxPoint *hitPoint, gxHighlightType highlightType, gxShape caretArea, short *returnedRise, short *returnedRun)
  95.  THREEWORDINLINE(0x303C, 0x0010, 0xA832);
  96.  
  97. extern void GXGetStyleBaselineDeltas(gxStyle baseStyle, gxBaselineType baseType, gxBaselineDeltas returnedDeltas)
  98.  THREEWORDINLINE(0x303C, 0x0011, 0xA832);
  99.  
  100. extern gxByteOffset GXGetRightVisualOffset(gxShape layout, gxByteOffset currentOffset)
  101.  THREEWORDINLINE(0x303C, 0x0012, 0xA832);
  102.  
  103. extern gxByteOffset GXGetLeftVisualOffset(gxShape layout, gxByteOffset currentOffset)
  104.  THREEWORDINLINE(0x303C, 0x0013, 0xA832);
  105.  
  106. extern void GXGetCompoundCharacterLimits(gxShape layout, gxByteOffset trial, gxByteOffset *minOffset, gxByteOffset *maxOffset, Boolean *onBoundary)
  107.  THREEWORDINLINE(0x303C, 0x0014, 0xA832);
  108.  
  109. extern void GXGetOffsetGlyphs(gxShape layout, gxByteOffset trial, long leadingEdge, gxLayoutOffsetState *offsetState, unsigned short *firstGlyph, unsigned short *secondGlyph)
  110.  THREEWORDINLINE(0x303C, 0x0015, 0xA832);
  111.  
  112. extern void GXGetGlyphOffset(gxShape layout, long trial, long onLeftTop, gxByteOffset *offset, Boolean *leadingEdge, Boolean *wasRealCharacter)
  113.  THREEWORDINLINE(0x303C, 0x0016, 0xA832);
  114.  
  115. extern void GXGetLayoutSpan(gxShape layout, Fixed *lineAscent, Fixed *lineDescent)
  116.  THREEWORDINLINE(0x303C, 0x0017, 0xA832);
  117.  
  118. extern void GXSetLayoutSpan(gxShape layout, Fixed lineAscent, Fixed lineDescent)
  119.  THREEWORDINLINE(0x303C, 0x0018, 0xA832);
  120.  
  121. extern Fixed GXGetLayoutJustificationGap(gxShape layout)
  122.  THREEWORDINLINE(0x303C, 0x0279, 0xA832);
  123.  
  124. extern void GXGetLayoutJustificationFactors(gxShape layout, Fixed constrainedFactors[], Fixed unconstrainedFactors[])
  125.  THREEWORDINLINE(0x303C, 0x027A, 0xA832);
  126.  
  127. extern void GXSetStyleRunControls(gxStyle target, const gxRunControls *runControls)
  128.  THREEWORDINLINE(0x303C, 0x0019, 0xA832);
  129.  
  130. extern void GXSetStyleRunPriorityJustOverride(gxStyle target, const gxPriorityJustificationOverride *priorityJustificationOverride)
  131.  THREEWORDINLINE(0x303C, 0x001A, 0xA832);
  132.  
  133. extern void GXSetStyleRunGlyphJustOverrides(gxStyle target, long count, const gxGlyphJustificationOverride glyphJustificationOverrides[])
  134.  THREEWORDINLINE(0x303C, 0x001B, 0xA832);
  135.  
  136. extern void GXSetStyleRunGlyphSubstitutions(gxStyle target, long count, const gxGlyphSubstitution glyphSubstitutions[])
  137.  THREEWORDINLINE(0x303C, 0x001C, 0xA832);
  138.  
  139. extern void GXSetStyleRunFeatures(gxStyle target, long count, const gxRunFeature runFeatures[])
  140.  THREEWORDINLINE(0x303C, 0x001D, 0xA832);
  141.  
  142. extern void GXSetStyleRunKerningAdjustments(gxStyle target, long count, const gxKerningAdjustment kerningAdjustments[])
  143.  THREEWORDINLINE(0x303C, 0x001E, 0xA832);
  144.  
  145. extern void GXSetShapeRunControls(gxShape target, const gxRunControls *runControls)
  146.  THREEWORDINLINE(0x303C, 0x001F, 0xA832);
  147.  
  148. extern void GXSetShapeRunPriorityJustOverride(gxShape target, const gxPriorityJustificationOverride *priorityJustificationOverride)
  149.  THREEWORDINLINE(0x303C, 0x0020, 0xA832);
  150.  
  151. extern void GXSetShapeRunGlyphJustOverrides(gxShape target, long count, const gxGlyphJustificationOverride glyphJustificationOverrides[])
  152.  THREEWORDINLINE(0x303C, 0x0021, 0xA832);
  153.  
  154. extern void GXSetShapeRunGlyphSubstitutions(gxShape target, long count, const gxGlyphSubstitution glyphSubstitutions[])
  155.  THREEWORDINLINE(0x303C, 0x0022, 0xA832);
  156.  
  157. extern void GXSetShapeRunFeatures(gxShape target, long count, const gxRunFeature runFeatures[])
  158.  THREEWORDINLINE(0x303C, 0x0023, 0xA832);
  159.  
  160. extern void GXSetShapeRunKerningAdjustments(gxShape target, long count, const gxKerningAdjustment kerningAdjustments[])
  161.  THREEWORDINLINE(0x303C, 0x0024, 0xA832);
  162.  
  163. extern long GXGetStyleRunControls(gxStyle source, gxRunControls *runControls)
  164.  THREEWORDINLINE(0x303C, 0x0025, 0xA832);
  165.  
  166. extern long GXGetStyleRunPriorityJustOverride(gxStyle source, gxPriorityJustificationOverride *priorityJustificationOverride)
  167.  THREEWORDINLINE(0x303C, 0x0026, 0xA832);
  168.  
  169. extern long GXGetStyleRunGlyphJustOverrides(gxStyle source, gxGlyphJustificationOverride glyphJustificationOverrides[])
  170.  THREEWORDINLINE(0x303C, 0x0027, 0xA832);
  171.  
  172. extern long GXGetStyleRunGlyphSubstitutions(gxStyle source, gxGlyphSubstitution glyphSubstitutions[])
  173.  THREEWORDINLINE(0x303C, 0x0028, 0xA832);
  174.  
  175. extern long GXGetStyleRunFeatures(gxStyle source, gxRunFeature runFeatures[])
  176.  THREEWORDINLINE(0x303C, 0x0029, 0xA832);
  177.  
  178. extern long GXGetStyleRunKerningAdjustments(gxStyle source, gxKerningAdjustment kerningAdjustments[])
  179.  THREEWORDINLINE(0x303C, 0x002A, 0xA832);
  180.  
  181. extern long GXGetShapeRunControls(gxShape source, gxRunControls *runControls)
  182.  THREEWORDINLINE(0x303C, 0x002B, 0xA832);
  183.  
  184. extern long GXGetShapeRunPriorityJustOverride(gxShape source, gxPriorityJustificationOverride *priorityJustificationOverride)
  185.  THREEWORDINLINE(0x303C, 0x002C, 0xA832);
  186.  
  187. extern long GXGetShapeRunGlyphJustOverrides(gxShape source, gxGlyphJustificationOverride glyphJustificationOverrides[])
  188.  THREEWORDINLINE(0x303C, 0x002D, 0xA832);
  189.  
  190. extern long GXGetShapeRunGlyphSubstitutions(gxShape source, gxGlyphSubstitution glyphSubstitutions[])
  191.  THREEWORDINLINE(0x303C, 0x002E, 0xA832);
  192.  
  193. extern long GXGetShapeRunFeatures(gxShape source, gxRunFeature runFeatures[])
  194.  THREEWORDINLINE(0x303C, 0x002F, 0xA832);
  195.  
  196. extern long GXGetShapeRunKerningAdjustments(gxShape source, gxKerningAdjustment kerningAdjustments[])
  197.  THREEWORDINLINE(0x303C, 0x0030, 0xA832);
  198.  
  199. #endif
  200.  
  201. #if defined(__MWERKS__) && GENERATING68K
  202.     #pragma pop
  203. #endif
  204.  
  205. #if PRAGMA_ALIGN_SUPPORTED
  206. #pragma options align=reset
  207. #endif
  208.  
  209. #if PRAGMA_IMPORT_SUPPORTED
  210. #pragma import off
  211. #endif
  212.  
  213. #ifdef __cplusplus
  214. }
  215. #endif
  216.  
  217. #endif /* __GXLAYOUT__ */
  218.  
  219.